home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / pp / pp-6.0 / Chans / testchan / dogen next >
Encoding:
Text File  |  1991-03-14  |  707 b   |  35 lines

  1. #! /bin/sh
  2. count=10000
  3. sleep=1
  4. while [ $# -gt 0 ]
  5. do
  6.     case "$1" in
  7.         -s) sleep=0; shift;;
  8.         [0-9]*) count="$1" ; shift;;
  9.         *) break 2;;
  10.     esac
  11. done
  12.  
  13. nawk '
  14. BEGIN { FS = ":"; srand() }
  15. $1 !~ /^#/ && NF == 2 { host[hcount++] = $1 }
  16. func do_addr(count,        i) {
  17.     printf "mail -s \"mesg %d\" ", msgcount ++
  18.     for (i = 0; i < count; i++) {
  19.         printf "foo@%s ", host[random(hcount)]
  20.     }
  21.     printf "< /etc/hosts\n"
  22. }
  23. func random(n) { return int(rand*n); }
  24. END {
  25.     print "#! /bin/sh"
  26.     print "echo hcount is", hcount, "producing", tcount, "records"
  27.     for(n = 0;n < tcount;n++) {
  28.         if (random(4) == 1)
  29.             do_addr(random(10)+1)
  30.         else    do_addr(1)
  31.         if(sleep)
  32.             print "sleep", random(5)+1
  33.     }
  34. }'  sleep="$sleep" tcount="$count" $*
  35.